The translation of a time-varying signal into digital code is performed by sampling said signal and by quantizing the samples. This involves the preliminary partitioning into sections of the continuous scale used to measure the signal amplitudes, and the assignment of a single digital value to each of said sections. When the signal quantizing operation is carried out, all the samples, the amplitude of which lay within the limits of a given section, i.e. said amplitude is between two consecutive partitioning levels, are coded with the same digital value. Of course this results in a transcription involving an error between the original signal and its coded form. The coding operation is said to generate a quantizing noise.
It is obvious that narrowing the sections, by setting the quantizing levels closer to each other, will result in a reduction of the noise. However, for given limits of amplitude variations, this operation would increase the number of sections and therefore the number of digital values used for coding them, and consequently the number of bits required to digitally define the sections. This results in a higher complexity of the devices to be provided for processing the signal expressed in digital form, and also would require a higher bit rate for transmitting the digitally encoded signal. Therefore it is desirable to reduce as much as possible the number of bits used in the coding operation, while keeping the signal-to-noise ratio at an acceptable level. Or, conversely, the overall bit resources allocated to the quantizing operations being fixed, they should be used as efficiently as possible.
Several processes have been provided to reach that target, among which we will consider, here, essentially the processes in which the frequency bandwidth of the signal to be digitally encoded is split into several subbands and then the subband signals are encoded using a dynamic allocation of the coding resources based on the relative energies of the sub-band signals. The splitting operation could be performed either on the overall frequency bandwidth of the signal as disclosed in French Patent No. 2389277, or on a limited portion of said bandwidth as disclosed in European patent No. 0002998. In both patents the signal within at least a portion of the speech signal bandwidth is split into N frequency subbands using a bank of filters. Each subband contents is then separately coded with a number of bits relative to the subband energy. This kind of coding allows a distribution of the bit resources to different frequency bands, so that most of these bit resources are allocated to high energy bands, and the minority of them to less energetic bands. The coded values of speech in the different bands are finally packed using a more or less complex packing format.
At the other end of the packing process, the packing needs to be reversed to yield the reconstructed signal. In the above referenced systems the number b(i) of bits dynamically allocated to the i-th subband at a given instant is related to the total number of bits B available to all the subbands per one signal sample and to the subband contained energy. This number of bits may be a non integer number. It has to be adjusted by rounding the non-integer optimal allocation using an approximation method. An improvement to this method is proposed here wherein quantizing levels rather than numbers of bits are dynamically allocated to the subband signals. A method to extract an optimal rather than an approximate integer level allocation from the non-integer optimal allocation is given as well.